#!/usr/bin/env node

const fs = require('fs');

// 检查命令行参数
if (process.argv.length < 5) {
    console.error('错误：未提供足够的参数。需要提供用户ID、组ID和文件名。');
    process.exit(1);
}
const uid = Number(process.argv[2]),
      gid = Number(process.argv[3]),
      file = process.argv[4];

// 检查用户ID和组ID是否为数字
if (isNaN(uid) || isNaN(gid)) {
    console.error('错误：用户ID和组ID必须是数字。');
    process.exit(1);
}

// 检查文件是否存在
if (!fs.existsSync(file)) {
    console.error(`错误：文件 ${file} 不存在。`);
    process.exit(1);
}
// 修改指定文件的所属用户和所属组
try {
    fs.chownSync(file, uid, gid);
    console.log(`文件 ${file} 的所有者已更改为用户ID ${uid} 和组ID ${gid}。`);
} catch (error) {
    console.error(`错误：更改文件所有者时发生错误: ${error.message}`);
    process.exit(1);
}
//命令行
//不要随意改这个17-my-chown.js文件的所有者，最好建一个新的seventith文件
// sudo chown 0:0 17-my-chown.js   改为root用户,root为0
//head或者tail /etc/passwd 查看用户
//查node路径 which node    /usr/local/bin/node
//运行
//改回suziyi sudo /usr/local/bin/node ./17-my-chown.js 1000:1000 17-my-chown.js